Local 安裝 gcloud sdk 時 docker develop 環境

以下介紹 local 安裝 gcloud sdk,且在 local auth,並將 credential 分享給 docker 的方法,非目前日常開發的建議配置,有需要時再讀即可。

安裝 gcloud

登入 gcloud

  • gcloud auth login
  • 如果需要deploy (目前是個issue,導致可能需要安裝不只gcloud,解決中)
    • appcfg.py list_versions . --noauth_local_webserver 確定看的到 version

東西放好位置

  • 找個吉祥的位置
    • EX: ~/JUNYI/
  • 抓 datastore
  • 抓 code
  • Build JS
    • cd junyiacademy
    • npm install
    • cd javascript/perseus
    • npm install
    • cd ../..
    • make build_js (or npm run build)
  • ls 觀察一下,應該會發現
    • work_resource/
      • 裡面有 datastore.db
    • junyiacademy/
      • 裡面有 code
    • junyiacademy/javascript/header-package
      • 裡面一定要有一個 bundle 的資料夾
      • bundle 資料夾裡面有一個 header.js

跑各式各樣的東西

devserver

  • 第一步
    • docker ps -a 檢查有沒有 jy_appserver (避免 name conflict)
    • 有的話 docker stop/rm jy_appserver
  • 第二步
gcloud docker -- run -d -v $(pwd)/junyiacademy:/src \
-v $(pwd)/work_resource:/work_resource \
-v ~/.config/gcloud:/.config/gcloud \
-p 8080:8080 -p 8000:8000 \
--name jy_appserver gcr.io/junyiacademy/dev/localserver \
/google-cloud-sdk/bin/dev_appserver.py /src/ \
--datastore_path=/work_resource/datastore.db  \
--host=:: --admin_host=::
  • 停止 jy_appserver
    • docker stop jy_appserver
  • 開啟 jy_appserver
    • docker start jy_appserver
  • Logs
    • docker logs appserver (-f)

unit test

  • 第一步
    • docker ps -a 檢查有沒有 jy_unit_test (避免 name conflict)
    • 有的話 docker stop/rm jy_unit_test
  • 第二步
gcloud docker -- run -v $(pwd)/junyiacademy:/src \
-v ~/.config/gcloud:/.config/gcloud \
--name jy_unit_test gcr.io/junyiacademy/dev/localserver \
make test
  • 如果要執行不同的 test 那就直接改上面最後一行 make test

api test

  • 第一步
    • docker ps -a 檢查有沒有 jy_test_api (避免 name conflict)
    • 有的話 docker stop/rm jy_test_api
  • 第二步
gcloud docker -- run -v $(pwd)/junyiacademy:/src -v ~/.config/gcloud:/.config/gcloud \
--name jy_test_api gcr.io/junyiacademy/dev/localserver \
make test_api
  • 如果要執行不同的 test 那就直接改上面最後一行 make test_api

deploy

results matching ""

    No results matching ""